result = [] for row in data_1: for compare_row in data_class: if row['appid'] == compare_row['appid']: result.append(row) break TypeError: string indices must be integers
时间: 2024-04-16 16:28:04 浏览: 111
tencent_kit:扑版QQ登录分享
这个错误通常表示你正在尝试在字符串上使用索引,但字符串只能使用整数索引而不是字符串索引。
根据你提供的代码,错误可能出现在以下两行:
```python
if row['appid'] == compare_row['appid']:
```
以及之前的数据读取部分:
```python
data_1 = []
with open('app_class.csv', 'r') as file1:
reader = csv.DictReader(file1)
for row in reader:
data_1.append(row)
data_class = []
with open('app.csv', 'r') as file2:
reader = csv.DictReader(file2)
for row in reader:
data_class.append(row)
```
问题可能是因为你的 CSV 文件中的某些列名并不是 `'appid'`。请确保你使用的列名与实际的列名完全匹配。
你可以通过打印出每一行的内容来检查列名:
```python
for row in data_1:
print(row)
```
确认 `row` 中的键和对应的值,以确保你使用正确的列名进行比较。
如果问题仍然存在,请提供示例数据以及 CSV 文件的列名和内容,以便更好地帮助你解决问题。
阅读全文