def clear(x): lst1 = [] for i in x: i = list(i) if i[-1] == '亿': i.pop() s = ''.join(i) a = int(s) lst1.append(a*100000000) if i[-1] == '万': i.pop() s = ''.join(i) a = int(s) lst1.append(a*10000) return lst1 import pandas as pd data = pd.read_csv(r'C:\Users\22897\Desktop\python\text.csv',encoding= 'utf-8') adf = pd.DateFrame(data,index = ['name','score','type','time','sales'],columns = range(1,151)) lst2 = list(adf['sales']) print(lst2) # clear(lst2)
时间: 2024-02-02 18:04:17 浏览: 92
在你的代码中,有几个语法错误需要进行修正:
1. `pd.DateFrame` 应该是 `pd.DataFrame`。
2. `columns` 参数应该是 `columns=range(1, 151)`,而不是 `columns=range(1,151)`。
此外,你还需要在调用 `clear` 函数之后,将结果赋值给 `lst2`,因为 `clear` 函数返回的是一个新的列表。修正后的代码如下:
```
def clear(x):
lst1 = []
for i in x:
i = list(i)
if i[-1] == '亿':
i.pop()
s = ''.join(i)
a = int(s)
lst1.append(a*100000000)
if i[-1] == '万':
i.pop()
s = ''.join(i)
a = int(s)
lst1.append(a*10000)
return lst1
import pandas as pd
data = pd.read_csv(r'C:\Users\22897\Desktop\python\text.csv', encoding='utf-8')
adf = pd.DataFrame(data, index=['name', 'score', 'type', 'time', 'sales'], columns=range(1, 151))
lst2 = list(adf.loc['sales'])
lst2 = clear(lst2)
print(lst2)
```
注意,这个代码仅能够在数据文件中包含 sales 列,且每个单元格的值都是以“亿”或“万”结尾的前提下运行。如果你的文件包含了其他列,或者单元格的值不符合要求,那么这个代码可能会出现其他错误。
阅读全文