python中的lstrip和反斜杠问题



我知道已经有很多关于python中反斜杠问题的资源,我读了很多,但没有一个对我有帮助。

我正在用Pandas处理大数据集。

我正在创建一个循环来迭代windows文件夹中的多个csv文件。然后进行几个数据操作。然后我要将每个不同的输入csv保存在不同的输出csv中。

本身,它的工作,但我想有一个干净的名称后的导出/保存。我不能这样做。

完整名称为"C:blabla blabladata number1Id 1Csv1 - december 12-xx-14_processed_1.csv">

xx =月中的多日

代码如下:

for files in folder :
df = pd.read_csv(files, sep=';', low_memory=False, index_col=None)
file_name = str(files)
file_name = file_name.lstrip(r'C:blabla blabladata number1Id 1Csv1 - Decembre\')
file_name = file_name.rstrip('_processed_1.csv')

我只想有"12-xx-14.csv"最后

所以我做了以下操作:

df.to_csv(r'C:blabla blabladata number1Reprocessed CSVDecember'+str(file_name)+'.csv',index=False)

保存到另一个文件夹用于项目管理。

我应该写上"12-xx-14.csv"作为输出…但我有&;2-xx-14.csv&;! 我的第一个"1"我真的不知道为什么要进垃圾箱??我猜这和反斜杠字符有关。但是,如果我删除最后两个反斜杠,则名称变为"01 - December12-xx-14"。我甚至无法抑制"01 - december"的情绪。如果没有最后一个" ",它将无法工作。

我目前正在升级到python 3.9来测试后缀/前缀,但与此同时我被困在这个

谢谢你!

我有一个解决这个问题的方法:

file_name = str(r"C:blabla blabladata number1Id 1Csv1 - Decembre12-xx-14_processed_1.csv")
print('1',file_name)
file_name = file_name.replace("\", "^")
print('2',file_name)
file_name = file_name.replace("C:^blabla blabla^data number1^Id 1^Csv^01 - Decembre^","")
print('3',file_name)
file_name = file_name.replace("_processed_1.csv","")
print('4',file_name)

输出:

1 C:blabla blabladata number1Id 1Csv1 - Decembre12-xx-14_processed_1.csv
2 C:^blabla blabla^data number1^Id 1^Csv^01 - Decembre^12-xx-14_processed_1.csv
3 12-xx-14_processed_1.csv
4 12-xx-14

——编辑——

a = r"C:blabla blabladata number1Id 1Csv1 - Decembre12-xx-14_processed_1.csv"
print('5',a)
a = a[53:61]+a[73:79]
print('6',a)

输出:

5 C:\blabla blabla\data number1\Id 1\Csv\01 - Decembre\12-xx-14_processed_1.csv
6 12-xx-14.csv

绝对是一个更干净的版本

相关内容

  • 没有找到相关文章

最新更新